[INFO] fetching crate kronos-compute 0.2.3-rc3...
[INFO] testing kronos-compute-0.2.3-rc3 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate kronos-compute 0.2.3-rc3 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate kronos-compute 0.2.3-rc3
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate kronos-compute 0.2.3-rc3
[INFO] tweaked toml for crates.io crate kronos-compute 0.2.3-rc3 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kronos-compute 0.2.3-rc3 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kronos-compute 0.2.3-rc3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows-targets v0.53.3
[INFO] [stderr]   Downloaded cfg-if v1.0.3
[INFO] [stderr]   Downloaded winapi-util v0.1.10
[INFO] [stderr]   Downloaded windows-link v0.1.3
[INFO] [stderr]   Downloaded libloading v0.8.8
[INFO] [stderr]   Downloaded libloading v0.7.4
[INFO] [stderr]   Downloaded bitflags v2.9.3
[INFO] [stderr]   Downloaded clap v4.5.45
[INFO] [stderr]   Downloaded half v2.2.0
[INFO] [stderr]   Downloaded rayon-core v1.12.0
[INFO] [stderr]   Downloaded regex v1.11.2
[INFO] [stderr]   Downloaded serde_json v1.0.143
[INFO] [stderr]   Downloaded rayon v1.8.0
[INFO] [stderr]   Downloaded clap_builder v4.5.44
[INFO] [stderr]   Downloaded regex-syntax v0.8.6
[INFO] [stderr]   Downloaded ash v0.37.3+1.3.251
[INFO] [stderr]   Downloaded regex-automata v0.4.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6b5d11dd5bc2dd2dcfb4c7ad80f3420deaf37c9cab3b12ed1c476b49d87397a2
[INFO] running `Command { std: "docker" "start" "-a" "6b5d11dd5bc2dd2dcfb4c7ad80f3420deaf37c9cab3b12ed1c476b49d87397a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6b5d11dd5bc2dd2dcfb4c7ad80f3420deaf37c9cab3b12ed1c476b49d87397a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b5d11dd5bc2dd2dcfb4c7ad80f3420deaf37c9cab3b12ed1c476b49d87397a2", kill_on_drop: false }`
[INFO] [stdout] 6b5d11dd5bc2dd2dcfb4c7ad80f3420deaf37c9cab3b12ed1c476b49d87397a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a805b6d4710c881208d0a16e779e468ccc0029ce26541850db6d111e65f49184
[INFO] running `Command { std: "docker" "start" "-a" "a805b6d4710c881208d0a16e779e468ccc0029ce26541850db6d111e65f49184", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling kronos-compute v0.2.3-rc3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stdout] warning: unused import: `vkDestroyDescriptorPool`
[INFO] [stdout]   --> src/api/context.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     vkCreateDescriptorPool, vkDestroyDescriptorPool,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::warn`
[INFO] [stdout]  --> src/implementation/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::warn;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/instance.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/device.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/memory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/buffer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/descriptor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 VkPhysicalDeviceType::DiscreteGpu => 0,
[INFO] [stdout]     |                 --------------------------------- matches some of the same values
[INFO] [stdout] 257 |                 VkPhysicalDeviceType::IntegratedGpu => 1,
[INFO] [stdout]     |                 ----------------------------------- matches some of the same values
[INFO] [stdout] 258 |                 VkPhysicalDeviceType::VirtualGpu => 2,
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] 259 |                 VkPhysicalDeviceType::Cpu => 3,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 260 |                 VkPhysicalDeviceType::Other => 4,
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `waitAll`
[INFO] [stdout]   --> src/implementation/sync.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     waitAll: VkBool32,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waitAll`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/implementation/sync.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     timeout: u64,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `physical_device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/api/context.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) struct ContextInner {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 23 |     pub(super) instance: VkInstance,
[INFO] [stdout] 24 |     pub(super) physical_device: VkPhysicalDevice,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub(super) queue_family_index: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_descriptor_pool` is never used
[INFO] [stdout]    --> src/api/context.rs:379:15
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl ComputeContext {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 379 |     unsafe fn create_descriptor_pool(device: VkDevice) -> Result<VkDescriptorPool> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_info` and `enabled_extensions` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct InstanceData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 20 |     app_info: ApplicationInfo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     enabled_extensions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_name`, `app_version`, `engine_name`, and `engine_version` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct ApplicationInfo {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 25 |     app_name: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 26 |     app_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     engine_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     engine_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `physical_device` is never read
[INFO] [stdout]   --> src/implementation/device.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct DeviceData {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 20 |     physical_device: VkPhysicalDevice,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `memory_type_index` are never read
[INFO] [stdout]   --> src/implementation/memory.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct MemoryData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     memory_type_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `usage`, and `sharing_mode` are never read
[INFO] [stdout]   --> src/implementation/buffer.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct BufferData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     usage: VkBufferUsageFlags,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     sharing_mode: VkSharingMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `spirv` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ShaderData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 28 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     spirv: Vec<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `layout`, and `shader` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct PipelineData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 33 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     layout: VkPipelineLayout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     shader: VkShaderModule,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `set_layouts` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct PipelineLayoutData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 39 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     set_layouts: Vec<VkDescriptorSetLayout>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct CommandPoolData {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 44 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     queue_family_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pool` and `level` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct CommandBufferData {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 50 |     pool: VkCommandPool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     level: VkCommandBufferLevel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `bindings` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct DescriptorSetLayoutData {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 22 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     bindings: Vec<VkDescriptorSetLayoutBinding>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `max_sets` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct DescriptorPoolData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 27 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     max_sets: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct FenceData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 24 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `signaled` are never read
[INFO] [stdout]   --> src/implementation/sync.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct SemaphoreData {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 29 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     signaled: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct EventData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 34 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkShaderStageFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/pipeline.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 |     _stageFlags: VkShaderStageFlags,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | / bitflags! {
[INFO] [stdout]  64 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]  65 | |     pub struct VkShaderStageFlags: VkFlags {
[INFO] [stdout]  66 | |         const COMPUTE = 0x00000020;
[INFO] [stdout] ...   |
[INFO] [stdout]  69 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkDescriptorPoolResetFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/descriptor.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |     _flags: VkDescriptorPoolResetFlags,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | / bitflags! {
[INFO] [stdout] 118 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout] 119 | |     pub struct VkDescriptorPoolResetFlags: VkFlags {
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.83s
[INFO] running `Command { std: "docker" "inspect" "a805b6d4710c881208d0a16e779e468ccc0029ce26541850db6d111e65f49184", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a805b6d4710c881208d0a16e779e468ccc0029ce26541850db6d111e65f49184", kill_on_drop: false }`
[INFO] [stdout] a805b6d4710c881208d0a16e779e468ccc0029ce26541850db6d111e65f49184
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c40424ca825d13b5f916a01672d86dd9b0b8a96f1006e0e9e5ddb80acea6cd7
[INFO] running `Command { std: "docker" "start" "-a" "3c40424ca825d13b5f916a01672d86dd9b0b8a96f1006e0e9e5ddb80acea6cd7", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling kronos-compute v0.2.3-rc3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling half v2.2.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling clap_builder v4.5.44
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling clap v4.5.45
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stdout] warning: unused import: `vkDestroyDescriptorPool`
[INFO] [stdout]   --> src/api/context.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     vkCreateDescriptorPool, vkDestroyDescriptorPool,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::warn`
[INFO] [stdout]  --> src/implementation/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::warn;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/instance.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/device.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/memory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/buffer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/descriptor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/implementation/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/api/context.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 VkPhysicalDeviceType::DiscreteGpu => 0,
[INFO] [stdout]     |                 --------------------------------- matches some of the same values
[INFO] [stdout] 257 |                 VkPhysicalDeviceType::IntegratedGpu => 1,
[INFO] [stdout]     |                 ----------------------------------- matches some of the same values
[INFO] [stdout] 258 |                 VkPhysicalDeviceType::VirtualGpu => 2,
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] 259 |                 VkPhysicalDeviceType::Cpu => 3,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 260 |                 VkPhysicalDeviceType::Other => 4,
[INFO] [stdout] 261 |                 _ => 5,
[INFO] [stdout]     |                 ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `waitAll`
[INFO] [stdout]   --> src/implementation/sync.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     waitAll: VkBool32,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waitAll`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/implementation/sync.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     timeout: u64,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `physical_device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/api/context.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) struct ContextInner {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 23 |     pub(super) instance: VkInstance,
[INFO] [stdout] 24 |     pub(super) physical_device: VkPhysicalDevice,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub(super) queue_family_index: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_descriptor_pool` is never used
[INFO] [stdout]    --> src/api/context.rs:379:15
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl ComputeContext {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 379 |     unsafe fn create_descriptor_pool(device: VkDevice) -> Result<VkDescriptorPool> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_info` and `enabled_extensions` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct InstanceData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 20 |     app_info: ApplicationInfo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     enabled_extensions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `app_name`, `app_version`, `engine_name`, and `engine_version` are never read
[INFO] [stdout]   --> src/implementation/instance.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct ApplicationInfo {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 25 |     app_name: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 26 |     app_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     engine_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     engine_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `physical_device` is never read
[INFO] [stdout]   --> src/implementation/device.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct DeviceData {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 20 |     physical_device: VkPhysicalDevice,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `memory_type_index` are never read
[INFO] [stdout]   --> src/implementation/memory.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct MemoryData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     memory_type_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `usage`, and `sharing_mode` are never read
[INFO] [stdout]   --> src/implementation/buffer.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct BufferData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 20 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     size: VkDeviceSize,
[INFO] [stdout] 22 |     usage: VkBufferUsageFlags,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     sharing_mode: VkSharingMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `spirv` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ShaderData {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 28 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     spirv: Vec<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `layout`, and `shader` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct PipelineData {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 33 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     layout: VkPipelineLayout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     shader: VkShaderModule,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `set_layouts` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct PipelineLayoutData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 39 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     set_layouts: Vec<VkDescriptorSetLayout>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `queue_family_index` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct CommandPoolData {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 44 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     queue_family_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pool` and `level` are never read
[INFO] [stdout]   --> src/implementation/pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct CommandBufferData {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 50 |     pool: VkCommandPool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     level: VkCommandBufferLevel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `bindings` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct DescriptorSetLayoutData {
[INFO] [stdout]    |        ----------------------- fields in this struct
[INFO] [stdout] 22 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     bindings: Vec<VkDescriptorSetLayoutBinding>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `max_sets` are never read
[INFO] [stdout]   --> src/implementation/descriptor.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct DescriptorPoolData {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 27 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     max_sets: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct FenceData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 24 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device` and `signaled` are never read
[INFO] [stdout]   --> src/implementation/sync.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct SemaphoreData {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 29 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     signaled: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device` is never read
[INFO] [stdout]   --> src/implementation/sync.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct EventData {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 34 |     device: VkDevice,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkShaderStageFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/pipeline.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 |     _stageFlags: VkShaderStageFlags,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | / bitflags! {
[INFO] [stdout]  64 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]  65 | |     pub struct VkShaderStageFlags: VkFlags {
[INFO] [stdout]  66 | |         const COMPUTE = 0x00000020;
[INFO] [stdout] ...   |
[INFO] [stdout]  69 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `flags::VkDescriptorPoolResetFlags`, which is not FFI-safe
[INFO] [stdout]    --> src/implementation/descriptor.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |     _flags: VkDescriptorPoolResetFlags,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/core/flags.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | / bitflags! {
[INFO] [stdout] 118 | |     #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout] 119 | |     pub struct VkDescriptorPoolResetFlags: VkFlags {
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kronos_compute::implementation::*`
[INFO] [stdout]  --> examples/test_icd.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kronos_compute::implementation::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kronos_compute::ffi::*`
[INFO] [stdout]  --> examples/sync_test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kronos_compute::ffi::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> examples/sync_test.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |     unsafe {
[INFO] [stdout]     |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 344 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kronos_compute::ffi::*`
[INFO] [stdout]  --> examples/descriptor_test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kronos_compute::ffi::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkFenceCreateFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/sync_test.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |         pCreateInfo: *const VkFenceCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `VK_MAKE_VERSION` should have a snake case name
[INFO] [stdout]    --> examples/sync_test.rs:379:10
[INFO] [stdout]     |
[INFO] [stdout] 379 | const fn VK_MAKE_VERSION(major: u32, minor: u32, patch: u32) -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vk_make_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this creates a dangling pointer because temporary `CString` is dropped at end of statement
[INFO] [stdout]   --> examples/test_icd.rs:27:65
[INFO] [stdout]    |
[INFO] [stdout] 27 |             pApplicationName: CString::new("ICD Test").unwrap().as_ptr(),
[INFO] [stdout]    |                               --------------------------------- ^^^^^^ pointer created here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               this `CString` is dropped at end of statement
[INFO] [stdout]    |
[INFO] [stdout]    = help: bind the `CString` to a variable such that it outlives the pointer returned by `as_ptr`
[INFO] [stdout]    = note: a dangling pointer is safe, but dereferencing one is undefined behavior
[INFO] [stdout]    = note: returning a pointer to a local variable will always result in a dangling pointer
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this creates a dangling pointer because temporary `CString` is dropped at end of statement
[INFO] [stdout]   --> examples/test_icd.rs:29:58
[INFO] [stdout]    |
[INFO] [stdout] 29 |             pEngineName: CString::new("Kronos").unwrap().as_ptr(),
[INFO] [stdout]    |                          ------------------------------- ^^^^^^ pointer created here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this `CString` is dropped at end of statement
[INFO] [stdout]    |
[INFO] [stdout]    = help: bind the `CString` to a variable such that it outlives the pointer returned by `as_ptr`
[INFO] [stdout]    = note: a dangling pointer is safe, but dereferencing one is undefined behavior
[INFO] [stdout]    = note: returning a pointer to a local variable will always result in a dangling pointer
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/test_forwarding.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |             flags: 0,
[INFO] [stdout]     |                    ^ expected `VkPipelineShaderStageCreateFlags`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (example "test_forwarding") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkBufferUsageFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/descriptor_test.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |         pCreateInfo: *const VkBufferCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkShaderStageFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/descriptor_test.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |         pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `kronos_compute::VkDescriptorPoolCreateFlags`, which is not FFI-safe
[INFO] [stdout]   --> examples/descriptor_test.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |         pCreateInfo: *const VkDescriptorPoolCreateInfo,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `VK_MAKE_VERSION` should have a snake case name
[INFO] [stdout]    --> examples/descriptor_test.rs:404:10
[INFO] [stdout]     |
[INFO] [stdout] 404 | const fn VK_MAKE_VERSION(major: u32, minor: u32, patch: u32) -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vk_make_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `icd_loader` in `implementation`
[INFO] [stdout]   --> examples/test_amd_directly.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 |     kronos_compute::implementation::icd_loader::set_preferred_icd_index(3); // AMD
[INFO] [stdout]    |                                     ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/safe_api_icd_select.rs:13:48
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let icds = kronos_compute::implementation::icd_loader::available_icds();
[INFO] [stdout]    |                                                ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/icd_dispatch.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |         kronos_compute::implementation::icd_loader::set_preferred_icd_index(0);
[INFO] [stdout]    |                                         ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `barrier_policy` in `implementation`
[INFO] [stdout]   --> tests/amd_validation.rs:77:38
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let vendor = implementation::barrier_policy::GpuVendor::from_vendor_id(amd_props.vendorID);
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^ could not find `barrier_policy` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/aggregated_mode_test.rs:15:49
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let _ = kronos_compute::implementation::icd_loader::initialize_icd_loader();
[INFO] [stdout]    |                                                 ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `icd_loader` in `implementation`
[INFO] [stdout]   --> examples/test_amd_directly.rs:22:57
[INFO] [stdout]    |
[INFO] [stdout] 22 |     if let Some(info) = kronos_compute::implementation::icd_loader::selected_icd_info() {
[INFO] [stdout]    |                                                         ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `barrier_policy` in `implementation`
[INFO] [stdout]   --> tests/amd_validation.rs:78:44
[INFO] [stdout]    |
[INFO] [stdout] 78 |         assert_eq!(vendor, implementation::barrier_policy::GpuVendor::AMD);
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^ could not find `barrier_policy` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `icd_loader` in `implementation`
[INFO] [stdout]   --> tests/aggregated_mode_test.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let all_icds = kronos_compute::implementation::icd_loader::get_all_icds();
[INFO] [stdout]    |                                                        ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_aggregate_e2e.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |         assert_eq!(r, VkResult::Success);
[INFO] [stdout]    |                       ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 31 -         assert_eq!(r, VkResult::Success);
[INFO] [stdout] 31 +         assert_eq!(r, Result::Success);
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_aggregate_e2e.rs:60:23
[INFO] [stdout]    |
[INFO] [stdout] 60 |         assert_eq!(r, VkResult::Success);
[INFO] [stdout]    |                       ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 60 -         assert_eq!(r, VkResult::Success);
[INFO] [stdout] 60 +         assert_eq!(r, Result::Success);
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_aggregate_e2e.rs:74:71
[INFO] [stdout]    |
[INFO] [stdout] 74 |         assert_eq!(kronos_compute::vkBeginCommandBuffer(cmd, &begin), VkResult::Success);
[INFO] [stdout]    |                                                                       ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 74 -         assert_eq!(kronos_compute::vkBeginCommandBuffer(cmd, &begin), VkResult::Success);
[INFO] [stdout] 74 +         assert_eq!(kronos_compute::vkBeginCommandBuffer(cmd, &begin), Result::Success);
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_aggregate_e2e.rs:75:61
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert_eq!(kronos_compute::vkEndCommandBuffer(cmd), VkResult::Success);
[INFO] [stdout]    |                                                             ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 75 -         assert_eq!(kronos_compute::vkEndCommandBuffer(cmd), VkResult::Success);
[INFO] [stdout] 75 +         assert_eq!(kronos_compute::vkEndCommandBuffer(cmd), Result::Success);
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_aggregate_e2e.rs:77:85
[INFO] [stdout]    |
[INFO] [stdout] 77 |         assert_eq!(kronos_compute::vkQueueSubmit(queue, 1, &submit, VkFence::NULL), VkResult::Success);
[INFO] [stdout]    |                                                                                     ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 77 -         assert_eq!(kronos_compute::vkQueueSubmit(queue, 1, &submit, VkFence::NULL), VkResult::Success);
[INFO] [stdout] 77 +         assert_eq!(kronos_compute::vkQueueSubmit(queue, 1, &submit, VkFence::NULL), Result::Success);
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `pool_allocator` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:180:25
[INFO] [stdout]     |
[INFO] [stdout] 180 |         implementation::pool_allocator::init_pools(device, physical_device).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ could not find `pool_allocator` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `kronos_compute::implementation::icd_loader`
[INFO] [stdout]  --> examples/icd_select.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use kronos_compute::implementation::icd_loader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (example "test_amd_directly") due to 2 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `pool_allocator` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |         implementation::pool_allocator::allocate_buffer_memory(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ could not find `pool_allocator` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "icd_aggregate_e2e") due to 5 previous errors
[INFO] [stdout] error[E0433]: cannot find `pool_allocator` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:206:47
[INFO] [stdout]     |
[INFO] [stdout] 206 |             device, buffer_a, implementation::pool_allocator::PoolType::DeviceLocal
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^ could not find `pool_allocator` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `icd_loader` in `implementation`
[INFO] [stdout]    --> tests/icd_dispatch.rs:114:41
[INFO] [stdout]     |
[INFO] [stdout] 114 |         kronos_compute::implementation::icd_loader::clear_preferred_icd();
[INFO] [stdout]     |                                         ^^^^^^^^^^ could not find `icd_loader` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `pool_allocator` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:208:25
[INFO] [stdout]     |
[INFO] [stdout] 208 |         implementation::pool_allocator::allocate_buffer_memory(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ could not find `pool_allocator` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_dispatch.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |         assert_eq!(res, VkResult::Success, "vkCreateInstance failed: {res:?}");
[INFO] [stdout]    |                         ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 44 -         assert_eq!(res, VkResult::Success, "vkCreateInstance failed: {res:?}");
[INFO] [stdout] 44 +         assert_eq!(res, Result::Success, "vkCreateInstance failed: {res:?}");
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_dispatch.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |         assert_eq!(res, VkResult::Success, "vkCreateDevice failed: {res:?}");
[INFO] [stdout]    |                         ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 78 -         assert_eq!(res, VkResult::Success, "vkCreateDevice failed: {res:?}");
[INFO] [stdout] 78 +         assert_eq!(res, Result::Success, "vkCreateDevice failed: {res:?}");
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_dispatch.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |         assert_eq!(res, VkResult::Success);
[INFO] [stdout]    |                         ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 89 -         assert_eq!(res, VkResult::Success);
[INFO] [stdout] 89 +         assert_eq!(res, Result::Success);
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]   --> tests/icd_dispatch.rs:98:25
[INFO] [stdout]    |
[INFO] [stdout] 98 |         assert_eq!(res, VkResult::Success);
[INFO] [stdout]    |                         ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]    |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 98 -         assert_eq!(res, VkResult::Success);
[INFO] [stdout] 98 +         assert_eq!(res, Result::Success);
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  3 + use kronos_compute::VkResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]    --> tests/icd_dispatch.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |         assert_eq!(res, VkResult::Success);
[INFO] [stdout]     |                         ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 100 -         assert_eq!(res, VkResult::Success);
[INFO] [stdout] 100 +         assert_eq!(res, Result::Success);
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   3 + use kronos_compute::VkResult;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `VkResult` in this scope
[INFO] [stdout]    --> tests/icd_dispatch.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |         assert_eq!(res, VkResult::Success, "vkQueueSubmit failed: {res:?}");
[INFO] [stdout]     |                         ^^^^^^^^ use of undeclared type `VkResult`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 105 -         assert_eq!(res, VkResult::Success, "vkQueueSubmit failed: {res:?}");
[INFO] [stdout] 105 +         assert_eq!(res, Result::Success, "vkQueueSubmit failed: {res:?}");
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   3 + use kronos_compute::VkResult;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `pool_allocator` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |             device, buffer_b, implementation::pool_allocator::PoolType::DeviceLocal
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^ could not find `pool_allocator` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `pool_allocator` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |         implementation::pool_allocator::allocate_buffer_memory(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ could not find `pool_allocator` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "icd_dispatch") due to 8 previous errors
[INFO] [stdout] error[E0433]: cannot find `pool_allocator` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:212:47
[INFO] [stdout]     |
[INFO] [stdout] 212 |             device, buffer_c, implementation::pool_allocator::PoolType::DeviceLocal
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^ could not find `pool_allocator` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `persistent_descriptors` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:218:46
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let descriptor_set = implementation::persistent_descriptors::get_persistent_descriptor_set(
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^ could not find `persistent_descriptors` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `barrier_policy` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:235:51
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let mut barrier_tracker = implementation::barrier_policy::BarrierTracker::new(
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ could not find `barrier_policy` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `barrier_policy` in `implementation`
[INFO] [stdout]    --> tests/amd_validation.rs:236:29
[INFO] [stdout]     |
[INFO] [stdout] 236 |             implementation::barrier_policy::GpuVendor::AMD
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ could not find `barrier_policy` in `implementation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `amd_gpu`
[INFO] [stdout]   --> tests/amd_validation.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg_attr(not(feature = "amd_gpu"), ignore)]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `ash`, `compare-ash`, `default`, `implementation`, `lazy_static`, `validation`, and `vendored`
[INFO] [stdout]    = help: consider adding `amd_gpu` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "aggregated_mode_test") due to 2 previous errors
[INFO] [stdout] warning: unexpected `cfg` condition value: `amd_gpu`
[INFO] [stdout]   --> tests/amd_validation.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[cfg_attr(not(feature = "amd_gpu"), ignore)]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `ash`, `compare-ash`, `default`, `implementation`, `lazy_static`, `validation`, and `vendored`
[INFO] [stdout]    = help: consider adding `amd_gpu` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `amd_gpu`
[INFO] [stdout]    --> tests/amd_validation.rs:320:16
[INFO] [stdout]     |
[INFO] [stdout] 320 | #[cfg_attr(not(feature = "amd_gpu"), ignore)]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `ash`, `compare-ash`, `default`, `implementation`, `lazy_static`, `validation`, and `vendored`
[INFO] [stdout]     = help: consider adding `amd_gpu` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `prefer_icd_index` found for struct `kronos_compute::api::ContextBuilder` in the current scope
[INFO] [stdout]   --> tests/safe_api_icd_select.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |       let ctx = kronos_compute::api::ComputeContext::builder()
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 20 | |         .app_name("Safe API ICD Select Test")
[INFO] [stdout] 21 | |         .prefer_icd_index(0)
[INFO] [stdout]    | |         -^^^^^^^^^^^^^^^^ method not found in `kronos_compute::api::ContextBuilder`
[INFO] [stdout]    | |_________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/amd_validation.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let device_name = std::str::from_utf8_unchecked(
[INFO] [stdout]    |                           ----------------------------- arguments to this function are incorrect
[INFO] [stdout] 67 |             &amd_props.deviceName[..amd_props.deviceName.iter().position(|&c| c == 0).unwrap_or(256)]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `&[i8]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&[u8]`
[INFO] [stdout]               found reference `&[i8]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/str/converts.rs:178:20
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "safe_api_icd_select") due to 2 previous errors
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/amd_validation.rs:188:20
[INFO] [stdout]     |
[INFO] [stdout] 188 |             flags: 0,
[INFO] [stdout]     |                    ^ expected `VkBufferCreateFlags`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/amd_validation.rs:227:20
[INFO] [stdout]     |
[INFO] [stdout] 227 |             flags: 0,
[INFO] [stdout]     |                    ^ expected `VkCommandPoolCreateFlags`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `prefer_icd_index` found for struct `kronos_compute::api::ContextBuilder` in the current scope
[INFO] [stdout]   --> examples/icd_select.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |               let ctx = api::ComputeContext::builder()
[INFO] [stdout]    |  _______________________-
[INFO] [stdout] 47 | |                 .app_name("ICD Select (index)")
[INFO] [stdout] 48 | |                 .prefer_icd_index(idx)
[INFO] [stdout]    | |                 -^^^^^^^^^^^^^^^^ method not found in `kronos_compute::api::ContextBuilder`
[INFO] [stdout]    | |_________________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traditional_elapsed`
[INFO] [stdout]    --> tests/amd_validation.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let traditional_elapsed = traditional_time.elapsed();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_traditional_elapsed`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kronos_elapsed`
[INFO] [stdout]    --> tests/amd_validation.rs:367:13
[INFO] [stdout]     |
[INFO] [stdout] 367 |         let kronos_elapsed = kronos_time.elapsed();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kronos_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `prefer_icd_path` found for struct `kronos_compute::api::ContextBuilder` in the current scope
[INFO] [stdout]   --> examples/icd_select.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 65 |               let ctx = api::ComputeContext::builder()
[INFO] [stdout]    |  _______________________-
[INFO] [stdout] 66 | |                 .app_name("ICD Select (path)")
[INFO] [stdout] 67 | |                 .prefer_icd_path(path)
[INFO] [stdout]    | |                 -^^^^^^^^^^^^^^^ method not found in `kronos_compute::api::ContextBuilder`
[INFO] [stdout]    | |_________________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kronos-compute` (test "amd_validation") due to 15 previous errors; 5 warnings emitted
[INFO] [stderr] error: could not compile `kronos-compute` (example "icd_select") due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "3c40424ca825d13b5f916a01672d86dd9b0b8a96f1006e0e9e5ddb80acea6cd7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c40424ca825d13b5f916a01672d86dd9b0b8a96f1006e0e9e5ddb80acea6cd7", kill_on_drop: false }`
[INFO] [stdout] 3c40424ca825d13b5f916a01672d86dd9b0b8a96f1006e0e9e5ddb80acea6cd7
